@use '../style/variable' as *;
@use '../style/mixin' as *;

#elements {
  .elements {
    @include absolute();
    padding-top: 40px;
    padding-bottom: 24px;
    font-size: 14px;
  }
  .control {
    padding: 10px 0;
    @include control();
    .icon-eye {
      right: 0;
    }
    .icon-copy {
      right: 23px;
    }
    .icon-delete {
      right: 46px;
    }
  }
  .dom-viewer-container {
    @include overflow-auto();
    height: 100%;
    padding: 5px 0;
  }
  .crumbs {
    @include absolute(100%, 24px);
    top: initial;
    line-height: 24px;
    bottom: 0;
    border-top: 1px solid var(--border);
    background: var(--darker-background);
    color: var(--primary);
    font-size: $font-size-s;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    li {
      cursor: pointer;
      padding: 0 7px;
      display: inline-block;
      &:hover,
      &:last-child {
        background: var(--highlight);
      }
    }
  }
  .detail {
    @include absolute();
    z-index: 10;
    padding-top: 40px;
    display: none;
    background: var(--background);
    .control {
      padding: 10px 35px;
      .element-name {
        font-size: $font-size-s;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        width: 100%;
        display: inline-block;
      }
      .icon-left {
        left: 0;
      }
      .icon-refresh {
        right: 0;
      }
    }
    .element {
      @include overflow-auto(y);
      height: 100%;
    }
  }
  .section {
    border-bottom: 1px solid var(--border);
    color: var(--foreground);
    margin: 10px 0;
    h2 {
      color: var(--primary);
      background: var(--darker-background);
      border-top: 1px solid var(--border);
      padding: $padding;
      line-height: 18px;
      font-size: $font-size;
      transition: background-color $anim-duration;
      @include right-btn();
      &.active-effect {
        cursor: pointer;
      }
      &.active-effect:active {
        background: var(--highlight);
        color: var(--select-foreground);
      }
    }
  }
  .attributes {
    font-size: $font-size-s;
    a {
      color: var(--link-color);
    }
    .table-wrapper {
      @include overflow-auto(x);
    }
    table {
      td {
        padding: 5px 10px;
      }
    }
  }
  .text-content {
    background: #fff;
    .content {
      @include overflow-auto(x);
      padding: $padding;
    }
  }
  .style-color {
    position: relative;
    top: 1px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 2px;
    border: 1px solid var(--border);
    display: inline-block;
  }
  .box-model {
    @include overflow-auto(x);
    padding: $padding;
    text-align: center;
    border-bottom: 1px solid var(--color);
  }
  .computed-style {
    font-size: $font-size-s;
    a {
      color: var(--link-color);
    }
    .table-wrapper {
      @include overflow-auto(y);
      max-height: 200px;
      border-top: 1px solid var(--border);
    }
    table {
      td {
        padding: 5px 10px;
        &.key {
          white-space: nowrap;
          color: var(--var-color);
        }
      }
    }
  }
  .styles {
    font-size: $font-size-s;
    .style-wrapper {
      padding: $padding;
      .style-rules {
        border: 1px solid var(--border);
        padding: $padding;
        margin-bottom: 10px;
        .rule {
          padding-left: 2em;
          word-break: break-all;
          a {
            color: var(--link-color);
          }
          span {
            color: var(--var-color);
          }
        }
        &:last-child {
          margin-bottom: 0;
        }
      }
    }
  }
  .listeners {
    font-size: $font-size-s;
    .listener-wrapper {
      padding: $padding;
      .listener {
        margin-bottom: 10px;
        overflow: hidden;
        border: 1px solid var(--border);
        .listener-type {
          padding: $padding;
          background: var(--darker-background);
          color: var(--primary);
        }
        .listener-content {
          li {
            @include overflow-auto(x);
            padding: $padding;
            border-top: none;
          }
        }
      }
    }
  }
}

.safe-area #elements {
  .elements {
    @include safe-area(padding-bottom, 24px);
  }
  .crumbs {
    @include safe-area(height, 24px);
  }
  .element {
    @include safe-area(padding-bottom, 0px);
  }
}

@media screen and (min-width: 680px) {
  #elements {
    .elements {
      width: 50%;
      .control {
        .icon-eye {
          display: none;
        }
        .icon-copy {
          right: 0;
        }
        .icon-delete {
          right: 23px;
        }
      }
    }
    .detail {
      width: 50%;
      left: initial;
      right: 0;
      border-left: 1px solid var(--border);
      .control {
        padding-left: 10px;
        .icon-left {
          display: none;
        }
      }
    }
  }
}
